package com.skivingcloud.report.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;

import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serial;

/**
 * 填报报表表格数据和配置信息表 实体类。
 *
 * @author skivingcloud
 * @since 2024-11-13
 */
@Schema(description = "填报报表表格数据和配置信息表")
@Table("report_luckysheet_report_forms_cell")
public class ReportLuckysheetReportFormsCell implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @Id
    @Schema(description = "主键")
    private String id;

    /**
     * 模板id
     */
    @Schema(description = "模板id")
    private String tplId;

    /**
     * 模板 sheet id
     */
    @Schema(description = "模板 sheet id")
    private String sheetId;

    /**
     * 数据集名称
     */
    @Schema(description = "数据集名称")
    private String datasetName;

    /**
     * 横坐标
     */
    @Schema(description = "横坐标")
    private Integer coordsx;

    /**
     * 纵坐标
     */
    @Schema(description = "纵坐标")
    private Integer coordsy;

    /**
     * 单元格扩展方向 1不扩展 2纵向扩展 3横向扩展 4交叉扩展
     */
    @Schema(description = "单元格扩展方向 1不扩展 2纵向扩展 3横向扩展 4交叉扩展")
    private String cellExtend;

    /**
     * 单元格值
     */
    @Schema(description = "单元格值")
    private String cellValue;

    /**
     * 单元格配置
     */
    @Schema(description = "单元格配置")
    private String cellData;

    /**
     * 单元格内容类型 1固定值 2变量
     */
    @Schema(description = "单元格内容类型 1固定值 2变量")
    private String cellValueType;

    /**
     * 是否是合并单元格 1是 0否
     */
    @Schema(description = "是否是合并单元格 1是 0否")
    private String isMerge;

    /**
     * 合并行数
     */
    @Schema(description = "合并行数")
    private Integer rowSpan;

    /**
     * 合并列数
     */
    @Schema(description = "合并列数")
    private Integer colSpan;

    /**
     * 单元格属性
     */
    @Schema(description = "单元格属性")
    private String cellAttrs;

    /**
     * 是否预警
     */
    @Schema(description = "是否预警")
    private String warning;

    /**
     * 预警颜色
     */
    @Schema(description = "预警颜色")
    private String warningColor;

    /**
     * 预警阈值
     */
    @Schema(description = "预警阈值")
    private String threshold;

    /**
     * 预警内容
     */
    @Schema(description = "预警内容")
    private String warningContent;

    /**
     * 是否是函数 1是 0否
     */
    @Schema(description = "是否是函数 1是 0否")
    private String isFunction;

    /**
     * 创建人
     */
    @Schema(description = "创建人")
    private String creator;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    @Schema(description = "更新人")
    private String updater;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 是否删除 1是 0否
     */
    @Schema(description = "是否删除 1是 0否")
    private String delFlag;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTplId() {
        return tplId;
    }

    public void setTplId(String tplId) {
        this.tplId = tplId;
    }

    public String getSheetId() {
        return sheetId;
    }

    public void setSheetId(String sheetId) {
        this.sheetId = sheetId;
    }

    public String getDatasetName() {
        return datasetName;
    }

    public void setDatasetName(String datasetName) {
        this.datasetName = datasetName;
    }

    public Integer getCoordsx() {
        return coordsx;
    }

    public void setCoordsx(Integer coordsx) {
        this.coordsx = coordsx;
    }

    public Integer getCoordsy() {
        return coordsy;
    }

    public void setCoordsy(Integer coordsy) {
        this.coordsy = coordsy;
    }

    public String getCellExtend() {
        return cellExtend;
    }

    public void setCellExtend(String cellExtend) {
        this.cellExtend = cellExtend;
    }

    public String getCellValue() {
        return cellValue;
    }

    public void setCellValue(String cellValue) {
        this.cellValue = cellValue;
    }

    public String getCellData() {
        return cellData;
    }

    public void setCellData(String cellData) {
        this.cellData = cellData;
    }

    public String getCellValueType() {
        return cellValueType;
    }

    public void setCellValueType(String cellValueType) {
        this.cellValueType = cellValueType;
    }

    public String getIsMerge() {
        return isMerge;
    }

    public void setIsMerge(String isMerge) {
        this.isMerge = isMerge;
    }

    public Integer getRowSpan() {
        return rowSpan;
    }

    public void setRowSpan(Integer rowSpan) {
        this.rowSpan = rowSpan;
    }

    public Integer getColSpan() {
        return colSpan;
    }

    public void setColSpan(Integer colSpan) {
        this.colSpan = colSpan;
    }

    public String getCellAttrs() {
        return cellAttrs;
    }

    public void setCellAttrs(String cellAttrs) {
        this.cellAttrs = cellAttrs;
    }

    public String getWarning() {
        return warning;
    }

    public void setWarning(String warning) {
        this.warning = warning;
    }

    public String getWarningColor() {
        return warningColor;
    }

    public void setWarningColor(String warningColor) {
        this.warningColor = warningColor;
    }

    public String getThreshold() {
        return threshold;
    }

    public void setThreshold(String threshold) {
        this.threshold = threshold;
    }

    public String getWarningContent() {
        return warningContent;
    }

    public void setWarningContent(String warningContent) {
        this.warningContent = warningContent;
    }

    public String getIsFunction() {
        return isFunction;
    }

    public void setIsFunction(String isFunction) {
        this.isFunction = isFunction;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public String getUpdater() {
        return updater;
    }

    public void setUpdater(String updater) {
        this.updater = updater;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

}
